
Documentation for result of GETVALASSUM
[Start ValAssumVector Medical]
    Decrements
      [1]  <mortRates see DECRATES_MORTRATE_DEF> Mortality rates (active members)          (same as pension)
      [2]  <termRates see DECRATES_TERMRATE_DEF> Termination rates (active members)          (same as pension)
      [3]  <disRates see DECRATES_DISABRATE_DEF> Disability rates (active members)           (same as pension)
      [4]  <retRates see DECRATES_RETRATE_DEF> Retirement rates (active members)           (same as pension)
      [5]  <retMortRates see DECRATES_MORTRATE_DEF> Retirement mortality rates (inactive members) (same as pension)
      [6]  <vestedTermMortRates see DECRATES_MORTRATE_DEF> Vested terminated mort. rate (inactive members) (same as pension)
      [7]  <disMemberMortRates see DECRATES_MORTRATE_DEF> Disabled members mort. rate (inactive members) (same as pension)
      [8]  <surBenMortRates see DECRATES_MORTRATE_DEF> Survivor & beneficiary mort. rate (inactive members) (same as pension)
      [9]  <decrType code> Rates to adjust for competing decrements
              1=all (rates)
              2=none (probabilities)
              3=mortality only
      [10] <decrBegMid bool> Decrement occurs beginning or middle of year? (0=beginning, 1=middle)
      [35] (not used)
      [36] (not used)
      [91] <zeroTrmRet bool> Termination rates continue upon Retirement eligibility? (0=no (default), 1=yes)
      [92] <LTD vector> LTD tables parameters
           [1] <diagnosisFld nameref> diagnosis database field name (LTDTYPE 1 only)
           [2] <diagnosis matrix> diagnosis mapping matrix (LTDTYPE 1 only). Has a row for each possible value of the
               diagnosis database field, and columns holding:
               [;1]  <diagnosisCode int> internal code of diagnosis field in database
               [;2]  <diagnosis code> corresponding diagnosis, represented as follows:
                     MV = (not yet specified)
                      0 = NoDiag
                      1 = Back
                      2 = Cancer
                      3 = Circulatory
                      4 = Diabetes
                      5 = Digestive
                      6 = Ill-defined and Misc Conditions
                      7 = Injury other than back
                      8 = Maternity
                      9 = Mental and Nervous
                     10 = Nervous System
                     11 = Other
                     12 = Other Musculoskeletal
                     13 = Respiratory
           [3] <elimination code> Elimination Period (LTDTYPE #in 1 2 3 4)
                 1=constant
                 2=field
           [4] <elimConstant num> Constant Elimination Period if [3]=1
           [5] <elimField nameref> Field elimination period if [3]=2
           [6] <igmbField nameref> Indexed Gross Monthly Benefit (0=no adjustment) (LTDTYPE 1 only)
           [7] <igmbAdj bool> Adjust Indexed Gross Monthly Benefit to 2007 at 2.4%, 1=yes (LTDTYPE 1 only)
           [8] <ownOccPd code> Own occupation period (LTDTYPE #in 1 2 3 4)
                 1=constant
                 2=field
                 3=unknown or not applicable
           [9] <ownOccPdConstant num> Constant Own occupation Period if [8]=1
           [10] <ownOccPdField nameref> Field Own occupation period if [8]=2
           [11] <interpolate bool> Interpolate to exact age at disability, 1=yes (LTDTYPE 1 only)
           [12] <quebec int> Use Quebec rates? 0=no, 1=yes, 2=by coded field (LTDTYPE #in 2 3 4 only)
           [13] <quebecFld nameref> "use Quebec rates?" database field name (LTDTYPE #in 2 3 4 only)
           [14] <quebecMap matrix> Quebec mapping matrix (LTDTYPE #in 2 3 4 only). Has a row for each possible value of the
               "use Quebec rates?" database field, and columns holding:
               [;1]  <quebecCode int> internal code of "use Quebec rates?" field in database
               [;2]  <quebec code> corresponding "use Quebec rates?" indicator, represented as follows:
                     MV = (not yet specified)
                      0 = do not use Quebec rates
                      1 = use Quebec rates
           [15] <zero bool> Zero out rates during elimination period? (0=no, 1=yes)
           [16] <adjustD1 bool> Adjust GLTD 2012 Table 1D margin? (0=no, 1=yes) (LTDTYPE 1 only)
           [17] <d1Margin num> Table 1D replacement margin (LTDTYPE 1 only)
           [18] <adjustR1 bool> Adjust GLTD 2012 Table 1R with margin? (0=no, 1=yes) (LTDTYPE 1 only)
           [19] <r1Margin num> Table 1R replacement margin (LTDTYPE 1 only)
           [20] <ltdType int> LTDTYPE
                  0 = no rates
                  1 = U.S. 2012 NAIC table
                  2 = Canadian CIA 2004-2008 table
                  3 = Canadian CIA 2009-2015 table
                  4 = Canadian CIA 1988-1997 table
                  5 = U.S. 1987 NAIC table (6 month elimination period)
                  6 = U.S. 2005 SOA Life Waiver table
           [21] <ltdSelExpr expr> LTD selection expression (LTDTYPE #ne 0 only)
           [22] <scaleFactorD num> Scaling factor for mortality rates (used if [25]=1)
           [23] <scaleFactorR num> Scaling factor for recovery rates (used if [26]=1)
           [24] <lastR bool> Extend mortality and recovery rates an additional 20 years? (0=no, 1=yes) (LTDTYPE #in 3 5)
           [25] <scaleTypeD bool> type of Scaling factor for mortality rates (1=constant, 2=variable)
           [26] <scaleVariableD matrix> Variable scale factor by duration table (used if [25]=2)
                [;1] <startDur int> Starting duration
                [;2] <scaleFactorD num> Variable scale factor
           [27] <scaleTypeR bool> type of Scaling factor for recovery rates (1=constant, 2=variable)
           [28] <scaleVariableR matrix> Variable scale factor by duration table (used if [26]=2)
                [;1] <startDur int> Starting duration
                [;2] <scaleFactorR num> Variable scale factor
      [99] <decrMixLRLY bool> Use retired member mortality for contingent lives prior to member death? (0=no, 1=yes)
      [100] <zeroDisRet bool> Disability rates continue after retirement eligibility? (1=yes (default), 0=no)

    Interest & Salary
      [11] <salMeritScale see DECRATES_SALSCALE_DEF> Salary merit scale
      [98] <addtlMeritScale see DECRATES_SALSCALE_DEF> Additional salary merit scale
      [12] <salIncType code> Salary increase rate type:
           1=rates vary by calendar year
           2=rates vary by coded database field
           3=single rate
           8=rates vary by calendar year and coded field
      [13] <staticSalInc numorstr> Static salary increase rate (used if type=3) (can be an assumption constant)
      [14] <varSalInc matrix> Varsalary increase rate  (used if type #in 1 8)
           An N #times 2 table having a row for each year in which the rate changes.  The columns hold:
           [;1]  <startYear int> starting year (calendar)
           [;2]  <rate numorstr> increase rate (used if type=1, else use info in [104]) (can be assumption constant)
           The table is sorted by year, and the first row applies to all years
           prior to the year specified on the second row.
      [15] <intType code> Interest rate type:
           1 = static (items 16 & 17 are used)
           3 = variable by calendar year (table in item 18 is used)
           4 = variable by duration from val date (input as forward rates)
           5 = variable by duration from val date (input as spot rates)
           7 = interest rate table from yield curve library
      [16] <staticIntPreRet numorstr> Static interest rate - pre-retirement (can be an assumption constant)
      [17] <staticIntPostRet numorstr> Static interest rate - post-retirement (can be an assumption constant)
      [18] <varInt matrix> Variable interest rate table.  An N #times 2 table having a row for
           each year in which the rate changes.  The columns hold:
           [;1]  <startYear int> starting year (calendar)
           [;2]  <rate numorstr> interest rate (can be assumption constant)
           The table is sorted by year, and the first row applies to all years
           prior to the year specified in the second row.
      [73] <Overridesal see SALASSUMS_DEF> Salary increase overrides for individual operators
      [74] <varIntD matrix> Variable interest rate table
            An N #times 2 table having a row for each duration in which the rate changes.
            (used when interest rate type=5) The columns hold:
            [;1]  <startYear int> starting duration
            [;2]  <rate num> interest rate
            The table is sorted by duration, and the first row applies to all
            durations prior to the duration specified in the second row.
      [103] <salField nameref> Name of salary increase coded database field (used if type #in 2 8)
      [104] <salCodedRates matrix> Salary increase coded database field rates (used if type #in 2 8)
            [;1] <code int> internal database code
            [;2] <const numorstr> constant value, or vector of values for calendar years (can be assumption constant)
      [107] <intRateTable ref INTRATE> id of interest rate table (only used when [15]=7)

    Benefit Related
      [34] <increaseRates see INCRATES_DEF> Component increase rates/Cash Balance crediting rates.  (same as pension)

    Election & Lapse
      [19] <qprimes see QPRIMES_DEF_MED> Probability (at decrement) of participant electing to receive a benefit.
      [95] <lapse see LAPSE_DEF> Lapse probabilities for a benefit.

    Liability Methods
      [20] <costMeth vector> Types of cost methods (1=method chosen, 0=method not chosen):
           [1]  <entAgeNormLevelSal bool> entry age normal -- level % of salary  (Funding & Accting)
           [2]  <entAgeNormLevelDol bool> entry age normal -- level dollar       (Funding)
           [3]  <puc bool>                projected unit credit                  (Funding)
                                          projected benefit obligation           (Accting)
           [4]  (not used)
           [5]  (not used)
           [6]  (not used)
           [7]  (not used)
           [8]  (not used)
      [21] <entAgeNormMeth code> Entry Age Normal Methodology
              0 = Fund from entry age to 100% retirement decrement age
              1 = Fund from entry age to age benefit has no future benefits
              2 = Fund from entry age to 100% retirement decrement age
              3 = Fund from entry age to age benefit has no future benefits
              5 = a temporary default, should be saved to library as one of the above codes
      [22] <ageRetFund num> Age requirement for funding
      [23] <svcReqFund num> Service requirement for funding
      [24] (not used)
      [25] (not used)
      [50] <runIndAgg bool> Run individual aggregate? (1=yes, else no)
      [51] <allocMeth code> Allocation method (1=dataRecord[50])
              1=current year's liability
              2=database expression
      [52] <allocAsset code> Liability for allocating assets (^/1=dataRecord[50 51])
              1=EAN $
              2=EAN %
              3=PUC
              4=UC
              5=PVFB
      [53] <databaseExprMin expr> Database expression for minimum basis (^/1 2=dataRecord[50 51])
      [54] <databaseExprMax expr> Database expression for maximum basis (qualified pension only) (^/1 2=dataRecord[50 51])
      [55] <recs [] nameref> Record indentifiers; matrix of field names (dataRecord[50])
      [71] <timingPVFS code> Timing of PVFS:
              0 = beginning of year
             .5 = middle of year
              1 = end of year
              2 = middle of year, except survivorship at end of year
      [72] <adjustPVFS vector> Adjust PVFS to middle or end of year with
           [1] <int bool> interest
           [2] <mort bool> survivorship
           [3] <salary bool> salary
      [75] <salLimitCode code> Code for salary limitations in PVFS calculation
              0 = no limits
              1 = limited per 401(a)(17) maximum
              2 = custom limit
              3 = limit by coded field
      [76] <salLimitCustreg ref CUSTREG> ID of Custom Regulatory Table used for PVFS salary limitation (used if [75]=2)
      [87] <salCountPBPdisplay code> Display of projected salary & headcount valuation output:
              1=Total count and total Salary
              2=Valuation count and valuation Salary
      [96] <codedLimit vector> Coded field table for PVFS limit (used if [75]=3),
           a nested vector holding:
           [1] <field nameref> name of coded field in database
           [2] <item matrix> matrix with a row for each database code, and columns for:
               [;1] <databaseCode int> internal database codes
               [;2] <basisValue num> PVFS limit
                      0 = none
                     #neg1 = per 401(a)
                     >0 = id of Custom Regulatory Table
      [97] <eanHistSal code> EAN historical salaries for PVFS at entry
              1=Impute salaries prior to valuation date
              2=Use actual salaries where available
      [101] <eancap ref SVCDEFN> ID of service definition used for cap on val salary
      [102] <PVFSdef ref SALDEFN> ID of salary definition used for PVFS and valuation salary

    Other Valuation Parameters
      [26] <fracPopMarMale num> Fraction of population that is married -- Male (used if [93]=1)
      [27] <fracPopMarFem num> Fraction of population that is married -- Female (used if [93]=1)
      [28] <yearsOlderMale num> Spouse age difference -- Male (used if [105]=1)
      [29] <yearsOlderFem num> Spouse age difference -- Female (used if [105]=1)
      [30] (not used)
      [31] (not used)
      [32] (not used)
      [33] (not used)
      [38] <timingClaimPay code> Timing of claims payments:
              1 = beginning of year
              2 = middle of year
              3 = end of year
      [45] <fundEligSvcField nameref> Funding eligibility service field, or '' if service defined in census
           is used (used iff [58]=0)
      [47] <fundEligDate date> Funding eligibility date - constant value
      [57] <adjustClaim vector> Adjust claims to middle or end of year with
           [1] <int bool> interest
           [2] <mort bool> mortality
           [3] <trend bool> trend
      [58] <fundEligSvcFldOrDef bool> Using ProVal service field (0) or service definition (1)
      [59] <fundEligSvcDEFN ref SVCDEFN> ID of ProVal service definition for Funding eligibility service (used iff [58]=1)
      [93] <popMarType code> Fraction of population married code:
            1 = constant (items 26 and 27 are used)
            2 = table (table in item 94 is used)
      [94] <popMarried see FRACMARRIED_DEF> Fraction of population married (used if [93]=2)
      [105] <AgeDiffType code> Spouse age difference code:
            1 = constant (items 28 and 29 are used)
            2 = table (item 106 is used)
      [106] <AgeDifference ref SPAGEDIFF> Spouse age difference table ID# (used if [105]=2)

    Statutory Data
      [37] <limit415SvcField nameref> 415 limit: participation service field, or '' if
           service defined in census is used (used iff [60]=0)
      [39] <limit415IntBefore62 num> 415 limit: interest rate before age 62
      [40] <limit415IntAfterSS num> 415 limit: interest rate after S.S. normal retirement age
      [41] <limit415Mort ref MORTRATE> 415 limit: mortality table ID number
      [42] <histStatutoryOver see STATOVER_DEF> Historical Statutory data override
      [43] <limit415ActRed bool> 415 limit: apply mortality discount in actuarial reductions & increases
           (1=yes, else no)
      [44] <limit415ActInc bool> 415 limit: apply actuarial increases after SSNRA (1=yes, else no)
      [46] <limit415High3 code> 415 limit: highest 3-year average salary limitation:
           1 = Valuation Salary from Census Specifications
           2 = Alternative Salary Definition
           3 = Limitation not applicable
      [48] <limit415SalDefin ref SALDEFN> 415 limit: salary definition id# (used w/alternative salary)
      [49] <limit415Apply10K bool> 415 limit: apply $10,000 exemption (1=yes, else no)
      [56] <apply2001 bool> Apply 2001 Tax Act actuarial equivalence and rounding provisions (1=yes)
      [60] <limit415PartSvcFldOrDef bool> Using ProVal service field (0) or service definition (1)
      [61] <limit415PartSvcDEFN ref SVCDEFN> ID of ProVal service definition for participation service (used iff [60]=1)
      [62] <ITAPartSvcFldOrDef bool> Using ProVal service field (0) or service definition (1)
      [63] <ITASvcField nameref> ITA limit: benefit accrual service field, or '' if service defined in census is used (used iff [62]=0)
      [64] <ITAPartSvcDEFN ref SVCDEFN> ID of ProVal service definition for benefit accrual service (used iff [62]=1)
      [65] <ITASvcSplit bool> ITA service split based on reform date
      [66] <ITASvcPre nameref> ITA prereform service - only field allowed (used iff [65]=1)
      [67] <ITAPartPstSvcFldOrDef bool> Using post reform service field (0) or service definition (1) (used iff [65]=1)
      [68] <ITAPartPstSvcField nameref> ITA post reform: participation service field, or '' if service defined
           in census is used (used iff [65 67]#match 1 0)
      [69] <ITAPartPstSvcDEFN ref SVCDEFN> ID of ProVal service definition for participation service (used iff [65 67]#match 1 1)
      [70] <PublicRedFac bool> Apply public safety plan early reduction factor
      [77] <limit415PayFreq code> Payment frequency to be used in actuarial reduction & increase factors
              1=Annual boy
              2=Use plan's benefit payment frequency and timing
      [78] <GerAIField str> database field name for federal state, or <all former West Germany> or <all former East Germany>
      [79] <GerAI matrix> field mapping matrix.  Has a row for each possible value of the
           database field, and columns holding:
           [;1]  <databaseCode int> internal code of status field in database
           [;2]  <GerAI code> corresponding status, represented as follows:
                 1 = former West Germany
                 2 = former East Germany
      [80] <GerKLField str> coal miner coded field, or <all coal miners> or <all statutory>
      [81] <GerKL matrix> field mapping matrix.  Has a row for each possible value of the
           database field, and columns holding:
           [;1]  <databaseCode int> internal code of coal miner field in database
           [;2]  <GerKL code> federal state codes:
                 1 = coal miner
                 2 = statutory
      [82] <GerSVRTField str> SVR retirement type coded field, or <all ordinary retirement>
      [83] <GerSVRT matrix> field mapping matrix.  Has a row for each possible value of the
           database field, and columns holding:
           [;1]  <databaseCode int> internal code of SVR type in database
           [;2]  <GerKL code> SVR type codes:
                 1 = Ordinary retirement
                 2 = Severely handicapped
                 3 = Part-time pre-retirement (ATZ)
      [84] <ITAERFSvcFldOrDef bool> Using ProVal service field (0) or service definition (1)
      [85] <ITAERFSvcField nameref> ITA limit: service field for early ret factors, or '' if service defined in census is used (used iff [84]=0)
      [86] <ITAERFSvcDEFN ref SVCDEFN> ID of ProVal service definition for early ret factors (used iff [84]=1)
      [88] <415pre62bens bool> Do not reduce death and disability benefits before age 62
      [89] <415pre62and15 bool> Do not reduce benefits before age 62 if 15 years of participation service
      [90] <415proFraction bool> Do not apply proration fraction to death and disability benefits

    Assumption Constants
      [108] <axParams vector> Assumption constant parameters
            [1] <axNames ref ASSUMX> Matrix of Assumption Constant names
            [2] <axvalues num> Assumption Constant values, vector with an item for each Assumption Constant [#assumconstants]
DECRATES_MORTRATE_DEF[] Mortality rates
    [1]  <type code> Rate type:
         0=no rates
         1=rates vary by calendar year of decrement
         2=rates vary by coded database field
         3=single rate table
         6=rates by benefit
         8=rates by calendar year of decrement and coded field
        12=rates vary by calendar year of valuation
    [2]  <calYearRates matrix> Calendar year rates (used if type #in 1 8 12)
         [;1] <year int> calendar year (e.g. 1999), the value in [1;1] is ignored
         [;2] <rate ref MORTRATE> id # of table, 0 if <no rates>
    [3]  <field nameref> Name of coded database field (used if type #in 2 8)
    [4]  <databaseRates matrix> Coded database field rates (used if type #in 2 8)
         [;1] <code int> internal database code
         [;2] <table ref MORTRATE> id # of table, 0 if <no rates>, or vector of id #'s
    [5]  <table ref MORTRATE> id # of table (used if type=3)
    [6]  <SvcFldOrDef bool> Use ProVal service field (0) or service definition (1)
    [7]  <SvcField nameref> service field for service-based tables or
         '' if rounded service from hire (used if [6]=0)
    [8]  <SvcDEFN ref SVCDEFN> ID of ProVal service definition for participation service
         (used if [6]=1)
    [9]  <RetAgeType Code> (not used) (initialized to 1)
    [10] <RetAgeNum Num> (not used) (initialized to MV)
    [11] <RetAgeField Nameref> (not used) (initialized to '')
    [12] <RetAgeonValDateBase table Ref RETRATE> (not used) (initialized to MV)
    [13] <RetAgeonValDateMatrix> (not used) (initialized to 0 4 #rho MV)
    [14] <RatesByBenefit matrix> Rates by benefit (used if type=6)
         [;1] <benefit ref BENDEF> id # of benefit definition
         [;2] <table ref MORTRATE> id # of table
    [15] <ValSalOrDef bool> (not used) (initialized to 0)
    [16] <SalDEFN ref SALDEFN> (not used) (initialized to MV)
    [17] <EURDtabcon code> (not used) (initialized to 1)
    [18] <EURDfrac num> (not used) (initialized to MV)
    [19] <EURDYRS num> (not used) (initialized to MV)
    [20] <EURDult num> (not used) (initialized to MV)
DECRATES_TERMRATE_DEF[] Termination rates
    [1]  <type code> Rate type:
         0=no rates
         1=rates vary by calendar year
         2=rates vary by coded database field
         3=single rate table
         6=rates by benefit
         8=rates by calendar year and coded field
    [2]  <calYearRates matrix> Calendar year rates (used if type #in 1 8)
         [;1] <year int> calendar year (e.g. 1999), the value in [1;1] is ignored
         [;2] <rate ref TERMRATE> id # of table, 0 if <no rates>
    [3]  <field nameref> Name of coded database field (used if type #in 2 8)
    [4]  <databaseRates matrix> Coded database field rates (used if type #in 2 8)
         [;1] <code int> internal database code
         [;2] <table ref TERMRATE> id # of table, 0 if <no rates>, or vector of id #'s
    [5]  <table ref TERMRATE> id # of table (used if type=3)
    [6]  <SvcFldOrDef bool> Use ProVal service field (0) or service definition (1)
    [7]  <SvcField nameref> service field for service-based tables or
         '' if rounded service from hire (used if [6]=0)
    [8]  <SvcDEFN ref SVCDEFN> ID of ProVal service definition for participation service
         (used if [6]=1)
    [9]  <RetAgeType Code> (not used) (initialized to 1)
    [10] <RetAgeNum Num> (not used) (initialized to MV)
    [11] <RetAgeField Nameref> (not used) (initialized to '')
    [12] <RetAgeonValDateBase table Ref RETRATE> (not used) (initialized to MV)
    [13] <RetAgeonValDateMatrix> (not used) (initialized to 0 4 #rho MV)
    [14] <RatesByBenefit matrix> Rates by benefit (used if type=6)
         [;1] <benefit ref BENDEF> id # of benefit definition
         [;2] <table ref TERMRATE> id # of table
    [15] <ValSalOrDef bool> (not used) (initialized to 0)
    [16] <SalDEFN ref SALDEFN> (not used) (initialized to MV)
    [17] <EURDtabcon code> (not used) (initialized to 1)
    [18] <EURDfrac num> (not used) (initialized to MV)
    [19] <EURDYRS num> (not used) (initialized to MV)
    [20] <EURDult num> (not used) (initialized to MV)
DECRATES_DISABRATE_DEF[] Disability rates (active members)
    [1]  <type code> Rate type:
         0=no rates
         1=rates vary by calendar year
         2=rates vary by coded database field
         3=single rate table
         6=rates by benefit
         8=rates by calendar year and coded field
    [2]  <calYearRates matrix> Calendar year rates (used if type #in 1 8)
         [;1] <year int> calendar year (e.g. 1999), the value in [1;1] is ignored
         [;2] <table ref DISABRATE> id # of table, 0 if <no rates>
    [3]  <databaseField nameref> Name of coded database field (used if type #in 2 8)
    [4]  <databaseRates matrix> Coded database field rates (used if type #in 2 8)
         [;1] <code int> internal database code
         [;2] <table ref DISABRATE> id # of table, 0 if <no rates>, or vector of id #'s
    [5]  <table ref DISABRATE> id # of table (used if type=3)
    [6]  <SvcFldOrDef bool> Use ProVal service field (0) or service definition (1)
    [7]  <SvcField nameref> service field for service-based tables or
         '' if rounded service from hire (used if [6]=0)
    [8]  <SvcDEFN ref SVCDEFN> ID of ProVal service definition for participation service
         (used if [6]=1)
    [9]  <RetAgeType Code> (not used) (initialized to 1)
    [10] <RetAgeNum Num> (not used) (initialized to MV)
    [11] <RetAgeField Nameref> (not used) (initialized to '')
    [12] <RetAgeonValDateBase table Ref RETRATE> (not used) (initialized to MV)
    [13] <RetAgeonValDateMatrix> (not used) (initialized to 0 4 #rho MV)
    [14] <RatesByBenefit matrix> Rates by benefit (used if type=6)
         [;1] <benefit ref BENDEF> id # of benefit definition
         [;2] <table ref DISABRATE> id # of table
    [15] <ValSalOrDef bool> (not used) (initialized to 0)
    [16] <SalDEFN ref SALDEFN> (not used) (initialized to MV)
    [17] <EURDtabcon code> (not used) (initialized to 1)
    [18] <EURDfrac num> (not used) (initialized to MV)
    [19] <EURDYRS num> (not used) (initialized to MV)
    [20] <EURDult num> (not used) (initialized to MV)
DECRATES_RETRATE_DEF[] Retirement rates (active members).
    [1]  <type code> Rate type:
         1=rates vary by calendar year
         2=rates vary by coded database field
         3=single rate table
         4=100% at a specified retirement age
         5=rates by age/service on valuation date
         6=rates by benefit
         8=rates by calendar year and coded field
         9=actuarial retirement age (IFGERMAN)
        11=same as actives (post-termination retirement rates only)
    [2]  <calYearRates matrix> Calendar year rates (used if type=1)
         [;1] <year int> calendar year (e.g. 1999), the value in [1;1] is ignored
         [;2] <table ref RETRATE> id # of table
    [3]  <databaseField nameref> Name of coded database field (used if type #in 2 8)
    [4]  <databaseRates matrix> Coded database field rates (used if type #in 2 8)
         [;1] <code int> internal database code
         [;2] <table ref RETRATE> id # of table, or vector of id #'s
    [5]  <table ref RETRATE> id # of table (used if type=3)
    [6]  <SvcFldOrDef bool> Use ProVal service field (0) or service definition (1)
    [7]  <SvcField nameref> service field for service-based tables or
         '' if rounded service from hire (used if [6]=0)
    [8]  <SvcDEFN ref SVCDEFN> ID of ProVal service definition for participation service
         (used if [6]=1)
    [9]  <RetAgeType code> Use constant (1) or database field (2) for 100% retirement age (used if [1]=4)
             1=constant
             2=database field
    [10] <RetAgeNum num> Constant age for 100% retirement (used if [9]=1)
    [11] <RetAgeField nameref> Database field for 100% retirement age (used if [9]=2)
    [12] <RetAgeonValDateBase table ref RETRATE> id # of base retirement rates (used if type=5)
    [13] <RetAgeonValDateMatrix matrix> Matrix of rates if using rates defined by age/svc/points on valuation date (used if type=5)
         [;1] <retage num> age
         [;2] <retsvc num> service
         [;3] <retpoints num> points
         [;4] <table ref RETRATE> id # of table
    [14] <RatesByBenefit matrix> Rates by benefit (used if type=6)
         [;1] <benefit ref BENDEF> id # of benefit definition
         [;2] <table ref RETRATE> id # of table
    [15] <ValSalOrDef bool> Use valuation salary (0) or salary definition (1)
    [16] <SalDEFN ref SALDEFN> ID of ProVal salary definition for replacement ratio tables
         (used if [15]=1)
    [17] <EURDtabcon code> If [1]=5 (rates by age/svc/pts), defined by 1=table, 2=constant (Projection Assumptions support tables only)
    [18] <EURDfrac num> If [17]=2, fraction retiring at specified age (not applicable to Projection Assumptions)
    [19] <EURDYRS num> If [17]=2, number of years after val date fraction in [18] retires (not applicable to Projection Assumptions)
    [20] <EURDult num> If [17]=2, ultimate retirement age (not applicable to Projection Assumptions)
DECRATES_SALSCALE_DEF[] Salary merit scale
    [1] <type code> Rate type:
        0=no rates
        1=rates vary by calendar year
        2=rates vary by coded database field
        3=single rate table
        8=rates vary by calendar year and coded field
    [2] <calYearRates matrix> Calendar year rates (used if type #in 1 8)
        [;1] <year int> calendar year (e.g. 1999), the value in [1;1] is ignored
        [;2] <table ref SALSCALE> id # of table, 0 if <no rates>
    [3] <databaseField nameref> Name of coded database field (used if type #in 2 8)
    [4] <databaseRates matrix> Coded database field rates (used if type #in 2 8)
        [;1] <code int> internal database code
        [;2] <table ref SALSCALE> id # of table, 0 if <no rates>, or vector of id #'s
    [5] <table ref SALSCALE> id # of table (used if type=3)
    [6] <SvcFldOrDef bool> Use ProVal service field (0) or service definition (1)
    [7] <SvcField nameref> service field for service-based tables or
        '' if rounded service from hire (used if [6]=0)
    [8] <SvcDEFN ref SVCDEFN> ID of ProVal service definition for participation service
        (used if [6]=1)
INCRATES_DEF[] Component increase rates/Cash Balance/employee contribution interest crediting rates.
    This is a matrix having a row for each symbol used in any of the
    accrual basis & benefit formulas, and columns holding the following
    information:
    [;1]  <name str> component name.  This is the name used in the benefit or accrual basis formula
          #take #take #take FIXME #take #take #take this alternates between ABCOMP or BFCOMP expression
                        but handling it is going to require that I support
                        nested IF or REIF statements that flip-flop state
                        across this tricky region.  Just do as string for now
          See INCRATES_REGDATA_DEF for reserved names for statutory items (component type ([;6])=1);
          These items may or may not be present in the table.
    [;2]  <increaseType code> increase type
             1=static
             2=variable
             3=rate table from library
             4=underlying liability (only available in Canadian mode for [;6]#in 2 9)
    [;3]  <scalarIncRate numorstr> scalar increase rate (if [;2]=1)  May be equal to MV. (can be a assumption constant)
    [;4]  <increaseRates matrix> increase rate table (for [;2]=2).  A 2-column matrix having a
          row for each different increase rate and columns(The table is sorted by year and contains no missing values):
          [;1]  <startYear numorstr> starting year (calendar) (can be an assumption constant)
          [;2]  <rate numorstr> increase rate for this and subsequent years (can be an assumption constant)
    [;5]  <libInc see INCRATES_TABLE_DEF> Increase rate table params (used if [;2]=3)
    [;6]  <type code> type of component:
             1 = statutory
             2 = benefit formula component
             3 = accrual basis formula component
             4 = lifetime maximum - limit/account balance (OPEB only)
             5 = lump sum factor benefit formula component
             6 = (not used, optional forms)
             7 = Custom Regulatory Table
             8 = Modified cash refund annuity deferred interest parameters (Non-German pension modes)
             9 = Employee contributions
            11 = benefit formula component that can vary with alternate benchmark
            12 = COLAs
            13 = eec that can vary with alternate benchmark
            14 = Insurance Contracts (Universal)
            15 = Val Contract Renewals (German)
            16 = Exp Contract Renewals (German)
            17 = New entrant asset transfer
            18 = Lifetime Maximums/Annual Limits - annual credit (OPEB)
    [;7]  <apply01Sens bool> Apply +/- valuation assumption sensitivities? (1=yes, 0=no)
    [;8]  <libEntryID num> ID of library entry for Life Max, Cust Reg, or Employee contrib (comp type [;6]#in 4 7 9 18)
          Note: Columns 9-14 are for benefit formula component Current Values
                (BFC library type 17 or 18; BFC library type is *not* the same as type code in [;6] here)
    [;9]  <CVConstVar bool> Current Value type for constant 0=single constant, 1=varies by coded field (used for BFC library type 17)
    [;10] <CVConstVal numorstr> Constant value (used for BFC library type 17)
    [;11] <CVCodedConst vector> Coded field table (used for BFC library type 17)
           a nested vector holding:
           [1] <field nameref> name of coded field in database
           [2] <item matrix> matrix with a row for each database code, and columns for:
               [;1] <CVConstDatabaseCode code> internal database codes
               [;2] <CVConstCodeValue num> current values
    [;12] <CVTableVar bool> Current Value type for table 0=single table, 1=varies by coded field (used for BFC library type 18)
    [;13] <CVTableTblComp ref ABTABLE> Current benefit component table ID# (used for BFC library type 18)
    [;14] <CVCodedTable vector> Coded field table (used for BFC library type 18)
           a nested vector holding:
           [1] <field nameref> name of coded field in database
           [2] <item matrix> matrix with a row for each database code, and columns for:
               [;1] <CVTableDatabaseCode code> internal database codes
               [;2] <CVTabeTable ref ABTABLE> table id#
    [;15] <useUnderSolv bool> For Solvency & Windup liabilities, use underlying interest rates as crediting rates
          for cash balance benefit formula components and employee contributions (0=no, 1=yes)
LSASSUMS_DEF[] Interest and Mortality Basis for Lump Sum Factors
    This is a matrix having a row for each lump sum factor benefit component, and columns
    holding the following information:
    Note: columns 9-12, and 15 are only used for post-PPA law type in U.S. Qualified mode
    [;1]  <compName str> Component Name
    [;2]  <primaryAnnMort ref MORTRATE> Primary Annuitant Mortality - table id
    [;3]  <conAnnMort ref MORTRATE> Contingent Annuity Mortality - table id
    [;4]  <intRateType code> Interest Rate Type:
           #neg4 = use underlying liability valuation interest rate using lop without adjustment if PPA spot rates
            0 = use underlying liability valuation interest rate
            1 = static (columns 5 and 14 are used)
            4 = variable by duration from valuation date (input as forward rates)
            5 = variable by duration from valuation date (input as spot rates), lop without adjustment
            7 = variable by duration from decrement date (input as forward rates)
            8 = variable by duration from decrement date (input as spot rates)
            9 = variable by duration from valuation date (input as spot rates), lop with adjustment
           11 = variable by calendar year of decrement
    [;5]  <staticIntRate numorstr> Static Interest Rate - Post-commencement (can be assumption constant)
    [;6]  <varIntRate matrix> Variable Interest Rate Table.  An N #times 2 table having a row for
          each duration in which the rate changes.  The columns hold:
          [;1]  <startDuration numorstr> starting duration from valuation date - first row applies to durations prior to the second row
          [;2]  <intRate numorstr> interest rate (can be assumption constant)
    [;7]  <overrideForSpecLiabs code> Override Lump Sum Int&Mort for Specialized Liabs?
            0=no override
            1=override interest only
            2=override int&mort
    [;8]  <DynamicMort code> Dynamic mortality as of
            1=decrement year
            2=valuation year
    [;9]  <ppaIntRateType code> Post-PPA Actuarial Liability Interest Rate Type: (only used for post-PPA law type in U.S. Qualified mode)
            1 = static
            4 = variable by duration from valuation date (input as forward rates)
            5 = variable by duration from valuation date (input as spot rates), lop without adjustment
            7 = variable by duration from decrement date (input as forward rates)
            8 = variable by duration from decrement date (input as spot rates)
            9 = variable by duration from valuation date (input as spot rates), lop with adjustment
           11 = variable by calendar year of decrement
    [;10] <ppaStaticIntRate numorstr> Post-PPA Actuarial Liability Static Interest Rate - Post-commencement (only post-PPA) (can be assumption constant)
    [;11] <ppaVarIntRate matrix> Post-PPA Actuarial Liability Variable Interest Rate Table (only post-PPA).
          An N #times 2 table having a row for each duration in which the rate changes.  The columns hold:
          [;1]  <startDuration numorstr> starting duration from valuation date - first row applies to durations prior to the second row
          [;2]  <intRate numorstr> interest rate (can be assumption constant)
    [;12] <actSameAsTarget bool> Actuarial liabilities use same as Target liabs? (0=no, 1=yes) (only post-PPA)
    [;13] <ApplySens code> Apply interest rate sensitivities (N/A if use underlying interest rates)
           #neg1=n/a
            0=no
            1=yes
    [;14] <staticIntPre numorstr> Static Interest Rate - Pre-commencement (can be assumption constant)
    [;15] <ppaStaticIntRate numorstr> Post-PPA Actuarial Liability Static Interest Rate - Pre-commencement (only post-PPA) (can be assumption constant)
    [;16] <ApplyMortSens bool> Apply mortality sensitivity?
    [;17] <calYear matrix> Calendar year interest rate table.  Row for each year in which the rate changes.
          [;1]  <startYear numorstr> starting year (calendar) - first row applies to all years prior to the year specified in the second row
          [;2]  <rate numorstr> interest rate (can be assumption canstant)
    [;18] <ppaCalYear matrix> Post-PPA Actuarial Liability calendar year interest rate table.  Row for each year in which the rate changes.
          [;1]  <startYear numorstr> starting year (calendar) - first row applies to all years prior to the year specified in the second row
          [;2]  <rate numorstr> interest rate (can be assumption constant)
QPRIMES_DEF[] Probability (at decrement) of participant electing to receive a benefit.
    This item is a matrix having a row for each benefit for which election probabilities
    have been specified and columns holding:
    [;1]  <ben ref BENDEF> benefit ID number
    [;2]  <type code> type of Q'
             0=none
             1=constant
             2=table
    [;3]  <constVal matrix> constant parameters (if type=1)
       [1] <type code> type:
            1=rates vary by calendar year
            2=rates vary by coded database field
            3=single rates
            8=rates vary by calendar year and coded field
       [2] <calYearRates matrix> Calendar year rates (used if type #in 1 8)
            [;1] <year int> calendar year (e.g. 1999), the value in [1;1] is ignored
            [;2] <rates matrix> a matrix holding
                 [;1] <id num> id of payment form (0=normal form)
                 [;2] <const numorstr> constant value (can be assumption constant)
       [3] <databaseField nameref> Name of coded database field (used if type #in 2 8)
       [4] <databaseRates matrix> Coded database field rates (used if type #in 2 8)
            [;1] <code int> internal database code
            [;2] <rates matrix> a matrix holding
                 [;1] <id num> id number of payment form (0=normal form)
                 [;2] <const numorstr> constant value, or vector of values for calendar years (can be assumption constant)
       [5] <constVal matrix> constant value (used if type=3) a matrix holding
            [;1] <id num> id number of payment form (0=normal form)
            [;2] <const numorstr> constant value (May be equal to MV if type=0) (can be assumption constant)
    [;4]  <table matrix> table params
       [1] <type code> Table type:
            1=rates vary by calendar year
            2=rates vary by coded database field
            3=single rate table
            8=rates vary by calendar year and coded field
       [2] <calYearRates matrix> Calendar year rates (used if type #in 1 8)
            [;1] <year int> calendar year (e.g. 1999), the value in [1;1] is ignored
            [;2] <table matrix> id # of table
                [;1] <id num> id of payment form (0=normal form)
                [;2] <table ref POSTDECPROB> id # of table
       [3] <databaseField nameref> Name of coded database field (used if type #in 2 8)
       [4] <databaseRates matrix> Coded database field rates (used if type #in 2 8)
            [;1] <code int> internal database code
            [;2] <table matrix> id # of table
                [;1] <id num> id of payment form (0=normal form)
                [;2] <table ref POSTDECPROB> id # of table, or vector of id #'s for calendar years
       [5] <table matrix> tables (used if type=3)
            [;1] <id num> id of payment form (0=normal form)
            [;2] <table ref POSTDECPROB> id # of table
       [6] <SvcFldOrDef bool> Use ProVal service field (0) or service definition (1)
       [7] <SvcField nameref> service field for service-based tables or
            '' if rounded service from hire (used if [6]=0)
       [8] <SvcDEFN ref SVCDEFN> ID of ProVal service definition for participation service
            (used if [6]=1)
SALASSUMS_DEF[] Salary increase overrides for individual operators
    This is a matrix having a row for each salary definition to which an override applies,
    and columns holding the following information:
    [;1] <overrideUsed bool> Using override (0=no, 1=yes)
    [;2] <defId ref SALDEFN> ID# of salary definition
    [;3] (not used)
    [;4] <salType code> Type of salary override
            0=none
            1=rates vary by calendar year
            2=rates vary by coded database field
            3=single rate
            8=rates vary by calendar year and coded field
    [;5] <constantRate numorstr> Contant Interest Rate (used if [;4]=3) (can be assumption constant)
    [;6] <calYrAndRate matrix> Calendar years and interest rates for those years (used if [;4]#in 1 8)
          [;1]  <startYear int> starting year (calendar)
          [;2]  <rate numorstr> increase rate for this and subsequent years (used if type=1, else use info in [;10]) (can be assumption constant)
    [;7] <meritScale see DECRATES_SALSCALE_DEF> Salary merit scale override
    [;8] <addtlMeritScale see DECRATES_SALSCALE_DEF> Additional salary merit scale override
    [;9] <salField nameref> Name of coded database field (used if type #in 2 8)
    [;10] <salRates matrix> Coded database field rates (used if type #in 2 8)
          [;1] <code int> internal database code
          [;2] <const numorstr> constant value, or vector of values for calendar years (can be assumption constant)
FRACMARRIED_DEF[] Fraction of population married
    [1] <type code> Rate type (0 and 1 not used):
        0=no rates
        1=rates vary by calendar year
        2=rates vary by coded database field
        3=single rate table
    [2] <calYearRates matrix> Calendar year rates (used if type=1)
        [;1] <year int> calendar year (e.g. 1999), the value in [1;1] is ignored
        [;2] <table ref FRACMARRIED> id # of table, 0 if <no rates>
    [3] <databaseField nameref> Name of coded database field (used if type=2)
    [4] <databaseRates matrix> Coded database field rates (used if type=2)
        [;1] <code int> internal database code
        [;2] <table ref FRACMARRIED> id # of table, 0 if <no rates>
    [5] <table ref FRACMARRIED> id # of table (used if type=3)
STATOVER_DEF[] Historical Statutory data override.
    An N #times 21 table having a row for each year to override.  The columns hold:
    [;1]  <year int>     Year
    [;2]  <maxBen num>   U.S. Maximum benefit
    [;3]  <maxComp num>  U.S. Maximum compensation
    [;4]  <ssWage num>   U.S. Social Security wage base
    [;5]  <cpi num>      U.S. CPI
    [;6]  <ssNatAvgWage num> U.S. Social Security national average wage
    [;7]  <canYmpe num>  Canadian YMPE
    [;8]  <canITA num>   Canadian ITA
    [;9]  <gerGAIW num>  German Average Income, West (not editable)
    [;10] <gerGAIW num>  German Average Income, East (not editable)
    [;11] <gerBBGW num>  German BBG: West
    [;12] <gerBBGWM num> German BBG: West Coalminers
    [;13] <gerARWW num>  German ARW: West
    [;14] <gerARWE num>  German ARW: East
    [;15] <gerBBGKV num> German BBG: Healthcare
    [;16] <ukFixed num>  UK Fixed Revaluation rates
    [;17] <ukRPI num>    UK RPI
    [;18] <ukCPI num>    UK CPI
    [;19] <ukS148 num>   UK Earnings Index (Section 148)
    [;20] <ukLEL num>    UK LEL
    [;21] <canYAMPE num> Canadian YAMPE
COLAASSUMS_DEF[] Individual Benefit COLA overrides
    This is a matrix having a row for each active or inactive benefit to which an override applies,
    and columns holding the following information:
    [;1]  <benType code> Type of benefit
             0=active benefit
             1=inactive benefit
             2=lump sum factor benefit formula component
    [;2]  (not used)
    [;3]  <benId int> ID# of benefit
    [;4]  <colaPayPeriod see DECRATES_COLA_DEF in COLA#deltaDOC> COLA during payment period (or DECRATES_COLA_EXPER_DEF if projection assumptions)
    [;5]  <colaDeferPeriod see DECRATES_COLA_DEF in COLA#deltaDOC> COLA during deferral period (or DECRATES_COLA_EXPER_DEF if projection assumptions)
    [;6]  <rateType code> Rate type
             1 = compound
             2 = simple
             3 = advanced (i.e. expression in [;9])
    [;7]  <benCompName str> Benefit formula component name (used only when [;1]=2)
    [;8]  (not used)
    [;9]  <COLAFormula expr> COLA formula (a character vector, used when [;6]=3)
    [;10] <COLAsens bool> are +/- valuation assumption sensitivities applicable? 0=no, 1=yes
    [;11] <colaPst2017 bool> Apply deferral period COLA to post-1/1/2018 portion of benefit only? 0=no, 1=yes (Germany only)
    [;12] <colaTimeType code> COLA timing type
           1 = end of year
           2 = constant date
           3 = database field
           4 = according to valuation assumptions (available in non-German only)
    [;13] <colaTimeDate date> COLA date (if [;16]=1^[;12]=2)
    [;14] <colaTimeField nameref> COLA field (if [;16]=1^[;12]=3)
    *** 15-21 Apply to German mode only
    [;15] <applyCOLA bool> For retirement decrements, apply COLA from sharp ages
    [;16] <colaAnnualType code> COLA timing type
            1 = annually
            2 = every X years
            3 = according to valuation assumptions
    [;17] <colaXyears num> X (if [;16]=2)
    [;18] <colaTimeTypeX code> Every X years COLA timing type (if [;16]=2)
            1 = X years from date of commencement
            2 = at constant date
            3 = at date from database field
    [;19] <colaTimeDateX date> COLA date (if [;16]=2^[;18]=2)
    [;20] <colaTimeFieldX nameref> COLA field (if [;16]=2^[;18]=3)
    [;21] <colaReduceFirst bool> Reduce first increase if less than X years? 0=no, 1=yes (if [;16]=2^[;18]#in 2 3)
OPTFRM_DEF[] Optional form parameters in valuation assumptions
    This item is a matrix having a row for each optional form referenced in a benefit definition
    and columns holding:
    [;1]  <payfrm ref PAYFORM> payment form ID number
    [;2]  <type code> type of assums
             1=int & mort
             2=table
             3=underlying interest
             4=variable interest & mortality
            #neg1=underlying interest using lop without adjustment if PPA spot rates
             11=calendar year of decrement interest & mortality
    [;3]  <intrate numorstr> interest rate (if type=1) (can be assumption constant)
    [;4]  <varIntRate matrix> Variable Interest Rate Table.  (for type=4) An N #times 2 table having a row for
          each duration in which the rate changes.  The columns hold:
          [;1]  <startDuration numorstr> starting duration from valuation date - first row applies to durations prior to the second row
          [;2]  <intRate numorstr> interest rate (can be assumption constant)
    [;5]  <VarDate code> Variable interest as of:
            1=valuation date
            2=decrement date
    [;6]  <VariableInput code> variable interest is:
            1=forward rates
            2=spot rates
            5=spot rates, lop without adjustment
    [;7]  <morttbl ref MORTRATE> primary annuitant mortality table ID# (if type #ne 2)
    [;8]  <conmorttbl ref MORTRATE> contingent annuitant mortality table ID# (if type #ne 2)
    [;9]  <gen code> if generational mortality from:
            1=valuation date
            2=decrement date
    [;10] <table ref ABTABLE> benefit component table id # (for type=2)
    [;11] <override code> Override Int&Mort for Actuarial liability (PPA) or Specialized Liabs?
            0=no override
            1=override interest only
            2=override int&mort
    [;12] <AlIntrate num> interest type for actuarial liability if override
            1 = static
            4 = variable by duration from valuation date (input as forward rates)
            5 = variable by duration from valuation date (input as spot rates), lop without adjustment
            7 = variable by duration from decrement date (input as forward rates)
            8 = variable by duration from decrement date (input as spot rates)
            9 = variable by duration from valuation date (input as spot rates), lop with adjustment
           11 = calendar year of decrement interest rates
    [;13] <AlIntrate numorstr> interest rate for actuarial liability if override
    [;14] <ALVarIntRate matrix> Variable Interest Rate Table for actuarial liability.  (for type=4) An N #times 2 table having a row for
          each duration in which the rate changes.  The columns hold:
          [;1]  <startDuration numorstr> starting duration from valuation date - first row applies to durations prior to the second row
          [;2]  <intRate numorstr> interest rate (can be assumption constant)
    [;15] <ApplySens bool> Apply interest rate sensitivities (N/A if use underlying interest rates)
    [;16] <PlanTblComAge code> Plan factors table lookup at:
            1=decrement age
            2=commencement age
    [;17] <ApplyMortSens bool> Apply mortality sensitivities?
    [;18] <calYear matrix> Calendar year interest rate table.  Row for each year in which the rate changes.
          [;1]  <startYear numorstr> starting year (calendar) - first row applies to all years prior to the year specified in the second row
          [;2]  <rate numorstr> interest rate (can be assumption constant)
    [;19] <ppaCalYear matrix> Calendar year interest rate table for actuarial liability (for type 11).  Row for each year in which the rate changes.
          [;1]  <startYear numorstr> starting year (calendar) - first row applies to all years prior to the year specified in the second row
          [;2]  <rate numorstr> interest rate (can be an assumption constant)
    [;20] <ApplyCOLAs bool> Apply COLAs?
DECRATES_COLA_DEF[] COLA Definition Vector for valuation assumptions
    [1] <type code> Type
          1 = constant
          2 = variable
          3 = db field
    [2] <const numorstr> Constant COLA rate (can be an assumption constant)
    [3] <table see COLA_TABLE_DEF> COLA table params
    [4] <field nameref> Name of db field containing COLA rate
COLA_TABLE_DEF[] COLA table params
    [1] <type code> Variable type:
        0=no rates
        1=rates vary by calendar year
        2=rates vary by coded database field
        3=single rate table
        7=rates vary by duration from valuation date (Canadian transfer value COLA only)
        8=rates vary by coded field and calendar year
    [2] <calYearRates matrix> Calendar year rates (used if type #in 1 8)
        [;1] <year int> calendar year (e.g. 1999), the value in [1;1] is ignored
        [;2] <table numorstr> id # of table or 0 if <no rates> (if [6]=2) or COLA rate (if [6]=3) (used if type=1, else use info in [4])
             (COLA rates may be numeric or assumption constants)
    [3] <databaseField nameref> Name of coded database field (used if type #in 2 8)
    [4] <databaseRates matrix> Coded database field rates (used if type #in 2 8)
        [;1] <code int> internal database code
        [;2] <table numorstr> id # of table or 0 if <no rates> (if [6]=2) or COLA rate (if [6]=3) (vector of ids/rates if type=8)
             (COLA rates may be numeric or assumption constants)
    [5] <table ref COLA> id # of table (used if type=3)
    [6] <entryType code> Entry type:
        1=no longer used; do not reuse
        2=table
        3=constant
    [7] <durRates matrix> Rates variable by duration (used if type=7) (Used only by Canadian transfer value COLA)
        [;1] <year int> duration from valuation date, the value in [1;1] is ignored
        [;2] <table num> id # of table or 0 if <no rates> (if [6]=2) or COLA rates (if [6]=3)
             (COLA rates may be numeric or assumption constants)
